package com.ibm.cloud.banking.media.entity;

import java.sql.Date;
import java.sql.Timestamp;
import java.util.Objects;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * replace desc in here
 *
 * @author HanDong
 * @date 2022/7/18
 */
@Entity
@Table(name = "media_card_info")
public class MediaCardInfoEntity {
    @Basic
    @Column(name = "id")
    @Id
    private int id;
    @Basic
    @Column(name = "card_no")
    private String cardNo;
    @Basic
    @Column(name = "customer_no")
    private String customerNo;
    @Basic
    @Column(name = "main_card_flag")
    private String mainCardFlag;
    @Basic
    @Column(name = "main_card_no")
    private String mainCardNo;
    @Basic
    @Column(name = "private_flag")
    private String privateFlag;
    @Basic
    @Column(name = "status")
    private String status;
    @Basic
    @Column(name = "loss_status")
    private String lossStatus;
    @Basic
    @Column(name = "cancellation_status")
    private String cancellationStatus;
    @Basic
    @Column(name = "employees_flag")
    private String employeesFlag;
    @Basic
    @Column(name = "bankbook_flag")
    private String bankbookFlag;
    @Basic
    @Column(name = "financial_flag")
    private String financialFlag;
    @Basic
    @Column(name = "withdrawal_flag")
    private String withdrawalFlag;
    @Basic
    @Column(name = "replace_branch")
    private String replaceBranch;
    @Basic
    @Column(name = "open_date")
    private Date openDate;
    @Basic
    @Column(name = "replace_date")
    private Date replaceDate;
    @Basic
    @Column(name = "loss_date")
    private Date lossDate;
    @Basic
    @Column(name = "cessation_date")
    private Date cessationDate;
    @Basic
    @Column(name = "cancellation_date")
    private Date cancellationDate;
    @Basic
    @Column(name = "product_no")
    private String productNo;
    @Basic
    @Column(name = "password")
    private String password;
    @Basic
    @Column(name = "error_times")
    private Integer errorTimes;
    @Basic
    @Column(name = "level")
    private String level;
    @Basic
    @Column(name = "trans_branch")
    private String transBranch;
    @Basic
    @Column(name = "trans_teller_id")
    private String transTellerId;
    @Basic
    @Column(name = "create_dt")
    private Timestamp createDt;
    @Basic
    @Column(name = "update_dt")
    private Timestamp updateDt;
    @Basic
    @Column(name = "sharding_id")
    private Integer shardingId;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getCardNo() {
        return cardNo;
    }

    public void setCardNo(String cardNo) {
        this.cardNo = cardNo;
    }

    public String getCustomerNo() {
        return customerNo;
    }

    public void setCustomerNo(String customerNo) {
        this.customerNo = customerNo;
    }

    public String getMainCardFlag() {
        return mainCardFlag;
    }

    public void setMainCardFlag(String mainCardFlag) {
        this.mainCardFlag = mainCardFlag;
    }

    public String getMainCardNo() {
        return mainCardNo;
    }

    public void setMainCardNo(String mainCardNo) {
        this.mainCardNo = mainCardNo;
    }

    public String getPrivateFlag() {
        return privateFlag;
    }

    public void setPrivateFlag(String privateFlag) {
        this.privateFlag = privateFlag;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getLossStatus() {
        return lossStatus;
    }

    public void setLossStatus(String lossStatus) {
        this.lossStatus = lossStatus;
    }

    public String getCancellationStatus() {
        return cancellationStatus;
    }

    public void setCancellationStatus(String cancellationStatus) {
        this.cancellationStatus = cancellationStatus;
    }

    public String getEmployeesFlag() {
        return employeesFlag;
    }

    public void setEmployeesFlag(String employeesFlag) {
        this.employeesFlag = employeesFlag;
    }

    public String getBankbookFlag() {
        return bankbookFlag;
    }

    public void setBankbookFlag(String bankbookFlag) {
        this.bankbookFlag = bankbookFlag;
    }

    public String getFinancialFlag() {
        return financialFlag;
    }

    public void setFinancialFlag(String financialFlag) {
        this.financialFlag = financialFlag;
    }

    public String getWithdrawalFlag() {
        return withdrawalFlag;
    }

    public void setWithdrawalFlag(String withdrawalFlag) {
        this.withdrawalFlag = withdrawalFlag;
    }

    public String getReplaceBranch() {
        return replaceBranch;
    }

    public void setReplaceBranch(String replaceBranch) {
        this.replaceBranch = replaceBranch;
    }

    public Date getOpenDate() {
        return openDate;
    }

    public void setOpenDate(Date openDate) {
        this.openDate = openDate;
    }

    public Date getReplaceDate() {
        return replaceDate;
    }

    public void setReplaceDate(Date replaceDate) {
        this.replaceDate = replaceDate;
    }

    public Date getLossDate() {
        return lossDate;
    }

    public void setLossDate(Date lossDate) {
        this.lossDate = lossDate;
    }

    public Date getCessationDate() {
        return cessationDate;
    }

    public void setCessationDate(Date cessationDate) {
        this.cessationDate = cessationDate;
    }

    public Date getCancellationDate() {
        return cancellationDate;
    }

    public void setCancellationDate(Date cancellationDate) {
        this.cancellationDate = cancellationDate;
    }

    public String getProductNo() {
        return productNo;
    }

    public void setProductNo(String productNo) {
        this.productNo = productNo;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Integer getErrorTimes() {
        return errorTimes;
    }

    public void setErrorTimes(Integer errorTimes) {
        this.errorTimes = errorTimes;
    }

    public String getLevel() {
        return level;
    }

    public void setLevel(String level) {
        this.level = level;
    }

    public String getTransBranch() {
        return transBranch;
    }

    public void setTransBranch(String transBranch) {
        this.transBranch = transBranch;
    }

    public String getTransTellerId() {
        return transTellerId;
    }

    public void setTransTellerId(String transTellerId) {
        this.transTellerId = transTellerId;
    }

    public Timestamp getCreateDt() {
        return createDt;
    }

    public void setCreateDt(Timestamp createDt) {
        this.createDt = createDt;
    }

    public Timestamp getUpdateDt() {
        return updateDt;
    }

    public void setUpdateDt(Timestamp updateDt) {
        this.updateDt = updateDt;
    }

    public Integer getShardingId() {
        return shardingId;
    }

    public void setShardingId(Integer shardingId) {
        this.shardingId = shardingId;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        MediaCardInfoEntity that = (MediaCardInfoEntity) o;
        return id == that.id && Objects.equals(cardNo, that.cardNo) && Objects.equals(customerNo, that.customerNo) && Objects.equals(mainCardFlag, that.mainCardFlag) && Objects.equals(mainCardNo, that.mainCardNo) && Objects.equals(privateFlag, that.privateFlag) && Objects.equals(status, that.status) && Objects.equals(lossStatus, that.lossStatus) && Objects.equals(cancellationStatus, that.cancellationStatus) && Objects.equals(employeesFlag, that.employeesFlag) && Objects.equals(bankbookFlag, that.bankbookFlag) && Objects.equals(financialFlag, that.financialFlag) && Objects.equals(withdrawalFlag, that.withdrawalFlag) && Objects.equals(replaceBranch, that.replaceBranch) && Objects.equals(openDate, that.openDate) && Objects.equals(replaceDate, that.replaceDate) && Objects.equals(lossDate, that.lossDate) && Objects.equals(cessationDate, that.cessationDate) && Objects.equals(cancellationDate, that.cancellationDate) && Objects.equals(productNo, that.productNo) && Objects.equals(password, that.password) && Objects.equals(errorTimes, that.errorTimes) && Objects.equals(level, that.level) && Objects.equals(transBranch, that.transBranch) && Objects.equals(transTellerId, that.transTellerId) && Objects.equals(createDt, that.createDt) && Objects.equals(updateDt, that.updateDt) && Objects.equals(shardingId, that.shardingId);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, cardNo, customerNo, mainCardFlag, mainCardNo, privateFlag, status, lossStatus, cancellationStatus, employeesFlag, bankbookFlag, financialFlag, withdrawalFlag, replaceBranch, openDate, replaceDate, lossDate, cessationDate, cancellationDate, productNo, password, errorTimes, level, transBranch, transTellerId, createDt, updateDt, shardingId);
    }
}
